home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Toolbox / Visual Basic Toolbox (P.I.E.)(1996).ISO / compress / addzip / quickzip.frm < prev    next >
Text File  |  1996-05-19  |  12KB  |  356 lines

  1. VERSION 2.00
  2. Begin Form frmQuickZIP 
  3.    BackColor       =   &H00000000&
  4.    Caption         =   "QuickZIP"
  5.    ClientHeight    =   3645
  6.    ClientLeft      =   1410
  7.    ClientTop       =   1890
  8.    ClientWidth     =   6840
  9.    Height          =   4335
  10.    Icon            =   QUICKZIP.FRX:0000
  11.    Left            =   1350
  12.    LinkTopic       =   "Form1"
  13.    ScaleHeight     =   243
  14.    ScaleMode       =   3  'Pixel
  15.    ScaleWidth      =   456
  16.    Top             =   1260
  17.    Width           =   6960
  18.    Begin PictureBox picStatusBar 
  19.       BackColor       =   &H00C0C0C0&
  20.       BorderStyle     =   0  'None
  21.       Height          =   495
  22.       Left            =   120
  23.       ScaleHeight     =   33
  24.       ScaleMode       =   3  'Pixel
  25.       ScaleWidth      =   81
  26.       TabIndex        =   1
  27.       Top             =   2760
  28.       Width           =   1215
  29.       Begin Label lblStatusBar 
  30.          BackColor       =   &H00C0C0C0&
  31.          Caption         =   "Label1"
  32.          FontBold        =   0   'False
  33.          FontItalic      =   0   'False
  34.          FontName        =   "MS Sans Serif"
  35.          FontSize        =   8.25
  36.          FontStrikethru  =   0   'False
  37.          FontUnderline   =   0   'False
  38.          Height          =   255
  39.          Left            =   120
  40.          TabIndex        =   3
  41.          Top             =   120
  42.          Width           =   1215
  43.       End
  44.    End
  45.    Begin TextBox txtZIP 
  46.       Height          =   285
  47.       Left            =   120
  48.       TabIndex        =   2
  49.       Text            =   "Text1"
  50.       Top             =   3120
  51.       Visible         =   0   'False
  52.       Width           =   3255
  53.    End
  54.    Begin ColumnListbox colArchive 
  55.       Height          =   2655
  56.       Left            =   0
  57.       TabIndex        =   0
  58.       Top             =   960
  59.       Width           =   4530
  60.    End
  61.    Begin Menu mnuArchive 
  62.       Caption         =   "&Archive"
  63.       Begin Menu mnuArchiveNew 
  64.          Caption         =   "&New"
  65.       End
  66.       Begin Menu mnuArchiveOpen 
  67.          Caption         =   "&Open..."
  68.       End
  69.       Begin Menu mnuArchiveSep1 
  70.          Caption         =   "-"
  71.       End
  72.       Begin Menu mnuArchiveExit 
  73.          Caption         =   "E&xit"
  74.       End
  75.    End
  76.    Begin Menu mnuOptions 
  77.       Caption         =   "&Options"
  78.       Begin Menu mnuOptionsCompression 
  79.          Caption         =   "&Compression..."
  80.          Begin Menu mnuOptionsCompressionLevel 
  81.             Caption         =   "N&one"
  82.             Index           =   0
  83.          End
  84.          Begin Menu mnuOptionsCompressionLevel 
  85.             Caption         =   "&Minimum"
  86.             Index           =   1
  87.          End
  88.          Begin Menu mnuOptionsCompressionLevel 
  89.             Caption         =   "&Normal"
  90.             Checked         =   -1  'True
  91.             Index           =   2
  92.          End
  93.          Begin Menu mnuOptionsCompressionLevel 
  94.             Caption         =   "Ma&ximum"
  95.             Index           =   3
  96.          End
  97.       End
  98.       Begin Menu mnuOptionsStoreFull 
  99.          Caption         =   "Store full filename"
  100.          Checked         =   -1  'True
  101.       End
  102.       Begin Menu mnuOptionsSep1 
  103.          Caption         =   "-"
  104.       End
  105.       Begin Menu mnuOptionsExtractTo 
  106.          Caption         =   "Extract to..."
  107.       End
  108.       Begin Menu mnuOptionsSep2 
  109.          Caption         =   "-"
  110.       End
  111.       Begin Menu mnuOptionsOnTop 
  112.          Caption         =   "Always on top"
  113.          Checked         =   -1  'True
  114.       End
  115.    End
  116.    Begin Menu mnuHelp 
  117.       Caption         =   "&Help"
  118.       Begin Menu mnuHelpAbout 
  119.          Caption         =   "About..."
  120.       End
  121.    End
  122.    Begin Menu mnuPopUp 
  123.       Caption         =   "PopUp"
  124.       Visible         =   0   'False
  125.       Begin Menu mnuPopSelect 
  126.          Caption         =   "&Select all"
  127.          Enabled         =   0   'False
  128.          Index           =   0
  129.       End
  130.       Begin Menu mnuPopSelect 
  131.          Caption         =   "&Deselect all"
  132.          Enabled         =   0   'False
  133.          Index           =   1
  134.       End
  135.       Begin Menu mnuPopSelect 
  136.          Caption         =   "&Invert selection"
  137.          Enabled         =   0   'False
  138.          Index           =   2
  139.       End
  140.       Begin Menu mnuPopSep1 
  141.          Caption         =   "-"
  142.       End
  143.       Begin Menu mnuPopExtract 
  144.          Caption         =   "&Extract"
  145.          Enabled         =   0   'False
  146.       End
  147.    End
  148. End
  149. Option Explicit
  150.  
  151. Sub colArchive_MouseDown (Button As Integer, Shift As Integer, X As Single, Y As Single)
  152.     If (Button = 2) Then
  153.         If (colArchive.ListCount > 0) Then mnuPopSelect(0).Enabled = True
  154.         If (colArchive.SelectedCount > 0) Then
  155.             mnuPopExtract.Enabled = True
  156.             mnuPopSelect(1).Enabled = True
  157.             mnuPopSelect(2).Enabled = True
  158.         End If
  159.         PopupMenu mnuPopUp
  160.     End If
  161. End Sub
  162.  
  163. Sub Form_Load ()
  164.     Dim I As Integer
  165.     
  166.     g_cExtract = App.Path
  167.  
  168.     colArchive.ColumnCount = 5
  169.     
  170.     colArchive.ColumnHeading(0) = "Filename"
  171.     colArchive.ColumnWidth(0) = TextWidth("WWWWWWWW.WWW")
  172.     
  173.     colArchive.ColumnHeading(1) = "Size"
  174.     colArchive.ColumnJustification(1) = TA_RIGHT
  175.     colArchive.ColumnAutoSort(1) = SORT_NUMERIC
  176.     
  177.     colArchive.ColumnHeading(2) = "Compressed"
  178.     colArchive.ColumnJustification(2) = TA_RIGHT
  179.     colArchive.ColumnAutoSort(2) = SORT_NUMERIC
  180.     
  181.     colArchive.ColumnHeading(3) = "Ratio"
  182.     colArchive.ColumnWidth(3) = TextWidth("Ratio") + 5
  183.     colArchive.ColumnJustification(3) = TA_RIGHT
  184.     colArchive.ColumnAutoSort(3) = SORT_NUMERIC
  185.     
  186.     colArchive.ColumnHeading(4) = "Path"
  187.     
  188.     colArchive.MultiSelect = True
  189.     If (Command$ <> "") Then ListArchiveContents (Command$)
  190.     UpdateStatusBar
  191.  
  192.     '
  193.     I = addZIP_SetParentWindowHandle(Me.hWnd)
  194.     I = addUNZIP_SetParentWindowHandle(Me.hWnd)
  195.     I = addZIP_SetWindowHandle(txtZIP.hWnd)
  196.     I = addUNZIP_SetWindowHandle(txtZIP.hWnd)
  197.     
  198.     Me.Show
  199.     SpyMessages
  200. End Sub
  201.  
  202. Sub Form_Resize ()
  203.     Dim I As Integer
  204.     ' resize the column list box
  205.     colArchive.Move 0, 0, Me.ScaleWidth, Me.ScaleHeight - (TextHeight("lq") + 10)
  206.     ' resize the status bar
  207.     picStatusBar.Move 0, colArchive.Height, colArchive.Width, TextHeight("lq") + 10
  208.     ' set window position - needed when windows is minimised
  209.     If (mnuOptionsOnTop.Checked = True) Then
  210.         I = SetWindowPos(Me.hWnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS)
  211.     End If
  212. End Sub
  213.  
  214. Sub Form_Unload (Cancel As Integer)
  215.     End ' the program is closing
  216. End Sub
  217.  
  218. Sub mnuArchiveExit_Click ()
  219.     End
  220. End Sub
  221.  
  222. Sub mnuArchiveNew_Click ()
  223.     Load frmUtility
  224.     frmUtility.Caption = "Enter new archive name"
  225.     frmUtility.txtInput.Text = ""
  226.     'frmUtility.txtInput.SetFocus
  227.     frmUtility.Show 1
  228.     If (g_cTemp <> "") Then ListArchiveContents (g_cTemp)
  229.  
  230. End Sub
  231.  
  232. Sub mnuOptionsCompressionLevel_Click (Index As Integer)
  233.     Dim I As Integer
  234.     
  235.     For I = 0 To 3
  236.         mnuOptionsCompressionLevel(I).Checked = False
  237.     Next I
  238.     mnuOptionsCompressionLevel(Index).Checked = True
  239. End Sub
  240.  
  241. Sub mnuOptionsExtractTo_Click ()
  242.     Load frmUtility
  243.     frmUtility.Caption = "Set extract directory"
  244.     frmUtility.txtInput.Text = g_cExtract
  245.     'frmUtility.txtInput.SetFocus
  246.     frmUtility.txtInput.SelStart = 0
  247.     frmUtility.txtInput.SelLength = Len(g_cExtract)
  248.     frmUtility.Show 1
  249.     If (g_cTemp <> "") Then g_cExtract = g_cTemp
  250. End Sub
  251.  
  252. Sub mnuOptionsOnTop_Click ()
  253.     Dim I As Integer
  254.     
  255.     mnuOptionsOnTop.Checked = Not mnuOptionsOnTop.Checked
  256.     If (mnuOptionsOnTop.Checked = True) Then
  257.         I% = SetWindowPos(Me.hWnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS)
  258.     Else
  259.         I% = SetWindowPos(Me.hWnd, HWND_NOTOPMOST, 0, 0, 0, 0, FLAGS)
  260.     End If
  261. End Sub
  262.  
  263. Sub mnuOptionsStoreFull_Click ()
  264.     mnuOptionsStoreFull.Checked = Not mnuOptionsStoreFull.Checked
  265. End Sub
  266.  
  267. Sub mnuPopExtract_Click ()
  268.     Dim I As Integer
  269.     Dim J As Integer
  270.     Dim cMessage As String
  271.     Dim cFilename As String
  272.  
  273.     cMessage = "Do you want to extract the "
  274.     cMessage = cMessage & Format$(colArchive.SelectedCount)
  275.     cMessage = cMessage & " selected files to "
  276.     cMessage = cMessage & g_cExtract & "?"
  277.     If (MsgBox(cMessage, 36, "Confirm") = 6) Then
  278.       For J = 1 To colArchive.ListCount
  279.         If (colArchive.Selected(J - 1) <> False) Then
  280.           I = addUNZIP_ArchiveName(g_cArchiveName)
  281.           cFilename = GetPiece((colArchive.List(J - 1)), Chr$(9), 5) & "/" & GetPiece((colArchive.List(J - 1)), Chr$(9), 1)
  282.           I = addUNZIP_Include(cFilename)
  283.           I = addUNZIP_ExtractTo(g_cExtract)
  284.           I = addUNZIP()
  285.         End If
  286.       Next J
  287.     End If
  288. End Sub
  289.  
  290. Sub mnuPopSelect_Click (Index As Integer)
  291.   Dim I As Integer
  292.   
  293.   Select Case Index
  294.     Case 0 ' select all
  295.       For I = 1 To colArchive.ListCount
  296.         colArchive.Selected(I - 1) = True
  297.       Next I
  298.     Case 1 ' deselect all
  299.       For I = 1 To colArchive.ListCount
  300.         colArchive.Selected(I - 1) = False
  301.       Next I
  302.     Case 2 ' invert selection
  303.       For I = 1 To colArchive.ListCount
  304.         colArchive.Selected(I - 1) = Not colArchive.Selected(I - 1)
  305.       Next I
  306.   End Select
  307. End Sub
  308.  
  309. Sub picStatusBar_Paint ()
  310.     ' Paint 3D effect of Status Bar
  311.     picStatusBar.Line (0, 0)-(picStatusBar.ScaleWidth, 0), RGB(255, 255, 255)
  312.     picStatusBar.Line (0, picStatusBar.ScaleHeight - 2)-(picStatusBar.ScaleWidth, picStatusBar.ScaleHeight - 2), RGB(128, 128, 128)
  313.     picStatusBar.Line (0, picStatusBar.ScaleHeight - 1)-(picStatusBar.ScaleWidth, picStatusBar.ScaleHeight - 1), RGB(0, 0, 0)
  314.     ' Resize label for status bar text
  315.     lblStatusBar.Move 5, 5, picStatusBar.ScaleWidth - 10, TextHeight("lq")
  316.     ' Paint 3D effect for status bar text
  317.     picStatusBar.Line (4, 4)-Step(lblStatusBar.Width + 2, 0), RGB(128, 128, 128)
  318.     picStatusBar.Line (4, 4)-Step(0, lblStatusBar.Height + 2), RGB(128, 128, 128)
  319.     picStatusBar.Line (4, lblStatusBar.Height + 6)-Step(lblStatusBar.Width + 2, 0), RGB(255, 255, 255)
  320.     picStatusBar.Line (4 + lblStatusBar.Width + 2, 4)-Step(0, lblStatusBar.Height + 2), RGB(255, 255, 255)
  321. End Sub
  322.  
  323. Sub picStatusBar_Resize ()
  324.     ' Need to refresh the picture box because reducing its size
  325.     ' doesnt generate a paint event
  326.     picStatusBar.Refresh
  327. End Sub
  328.  
  329. Sub txtZIP_Change ()
  330.     Dim cAdditem As String
  331.     Dim cAction As String
  332.     Dim lSize As Long
  333.     Debug.Print txtZIP.Text
  334.     cAction = GetPiece((txtZIP.Text), "|", 2)
  335.     Select Case cAction
  336.         Case "view"
  337.             cAdditem = GetFileName((txtZIP.Text)) & Chr$(9)
  338.             lSize = GetFileOriginalSize((txtZIP.Text))
  339.             g_lSize = g_lSize + lSize
  340.             cAdditem = cAdditem & Str$(lSize) & Chr$(9)
  341.             cAdditem = cAdditem & Str$(GetFileCompressedSize((txtZIP.Text))) & Chr$(9)
  342.             cAdditem = cAdditem & Str$(GetFileCompressionRatio((txtZIP.Text))) & "%" & Chr$(9)
  343.             cAdditem = cAdditem & GetFilePath((txtZIP.Text))
  344.             colArchive.AddItem cAdditem
  345.             g_iCount = g_iCount + 1
  346.         Case "error"
  347.         Case "warning"
  348.         Case Else
  349.             cAdditem = Format$(cAction, ">&&&&&&&&&&&") & " " & GetFileName((txtZIP.Text))
  350.             cAdditem = cAdditem & " - " & Str$(GetFileCompressionRatio((txtZIP.Text))) & "%"
  351.             lblStatusBar.Caption = cAdditem
  352.     End Select
  353.     DoEvents
  354. End Sub
  355.  
  356.